1. Field of the Invention
The present invention relates to graphical images and, more particularly, to the transmission of graphical images.
2. Description of the Related Art
To meet the multimedia revolution, computers have become more powerful and have provided more multimedia support. In particular, graphic capabilities of personal computers have been greatly enhanced in recent years due to technological improvements in peripheral devices and software products. Input peripheral devices, such as scanners and CD-ROM players, enable personal computers to obtain graphical image files. Software products can also be used to create graphical images using paint or drawing programs. Output peripheral devices, such as printers and plotters, can be used to print the graphical images.
The Internet (also referred to as the World Wide Web) is also part of the multimedia revolution because it acts as a large depository of image files which can be downloaded for viewing, storing and/or printing. For example, web pages available at web sites on the Internet commonly including graphical images that are to be down-loaded to visitors to the web site. One major problem, however, with down-loading graphical image files from the Internet is bandwidth constraints. Due to the large file size of graphical image files, a high bandwidth is needed for transmission of graphical image files in acceptable amounts of time. The bandwidth constraints are primarily due to how user""s computers connect to the Internet. Computers are typically connected to the Internet using modems and standard telephone lines. Some users are fortunate enough to couple to the Internet with high speed connections (e.g., T1, T3 or ISDN lines). In any case, most users are connected to the Internet through 14.4 kbits/second or 28.8 second modems which are relatively slow and therefore a bandwidth constraint for downloading sizable graphical image files. Hence, the average time it takes to download a graphical image file to a user""s computer is unduly long. Thus, the communication links by which user""s computers connect to the Internet are the transmission bottleneck.
Compression techniques can be used to provide some relief to the transmission bottleneck. By compressing the graphical image files using known compression techniques (such as JPEG), the graphical image file can be reduced in size. However, the reduction in size provided by compression does lead to distortion. The amount (or rate) of compression an image can withstand before showing noticeable distortion depends of the image and the viewing medium, but a nominal amount would be 15-to-1 compression. Although a limited amount of compression is acceptable, there is a limit as to the compression rate that still produces acceptable quality. The amount of compression achieved by existing compression techniques does not provide both high quality and rapid transmission over modem connections. The author of an image who prepares a graphical image file for the image that is to be accessed through a network must choose a level of compression to achieve a tradeoff between image quality and transmission time. Consequently, compression helps with the bandwidth constraints or transmission bottleneck, but does not sufficiently solve the problem.
The transmission of graphical image files in networks within companies (intranet) face similar problems. While some users may have high speed connections to servers on the intranet, other users have much slower modem connections. However, both types of users need to obtain graphical image files with acceptable response times. Hence, in the intranet case, the communication links by which user""s computers connect to the intranet are also the transmission bottleneck.
Thus, there is a need for improved techniques for transmission of graphical image files in a network environment so that the available bandwidth is used more efficiently.
Broadly speaking, the invention relates to techniques for transmitting graphical images in a network environment wherein the amount of data of the graphical images that is transmitted for each of the graphical images is customized in accordance with client and/or server supplied information. The techniques thus enable graphical images to be transmitted more flexibly and efficiently. As a result, the amount of data transmitted is customized for the particular situation. Hence, excess data need not be transmitted when the requester does not need or desire it. Alternatively, a request for a very high quality image can be satisfied. Accordingly, the invention makes significantly better and more intelligent use of the available bandwidth of the network environment. The invention can be implemented in numerous ways, including as a method, process, system, and a computer readable media.
As a computer-implemented method for transmitting a graphical image from a server machine to a client machine, an embodiment of the invention performs the operations of: receiving, at the server machine, a request for a graphical image from a client machine, the graphical image being stored on the server machine and having a predetermined total image size; obtaining image control information; determining an appropriate amount of data for the graphical image to be transmitted based on at least the image control information, the appropriate amount being less than or equal to the predetermined total image size; and transmitting the graphical image to the extent of the appropriate amount from the server machine to the client machine.
As a computer-implemented method for transmitting a graphical image from a server machine to a client machine, another embodiment of the invention performs the operations of: receiving, at the server machine, a request for a graphical image from a client machine; negotiating between the server machine and the client machine to determine a quality-size tradeoff for the graphical image; and transmitting the graphical image to the extent of the quality-size tradeoff from the server machine to the client machine.
As a computer-implemented identification process for a server machine connected to a client machine over a network, an embodiment of the invention performs the operations of: receiving, at a server machine, a capabilities query from a client machine; sending a response to the capabilities query from the server machine to the client machine; determining whether the client machine supports image customization based on the capabilities query; and identifying the client machine as a client machine that supports image customization when the determining operation determines that the client machine supports image customization. Preferably, the image customization operates to set a reduced total image size for a graphical image.
As a computer-implemented method for receiving at a client machine a graphical image from a server machine, an embodiment of the invention includes the operations of: sending a request for a graphical image to a server machine; sending image control information from the client machine to the server machine; and receiving from the server machine the graphical image of a determined amount, the determined amount being based on at least the image control information. Preferably, the determined amount is a reduced amount, and the graphical image file received also has a determined format based on at least the image control information. As examples, the determined format may be suitable for storing, displaying or printing an image associated with the graphical image file received.
As a system for transmitting graphical image files, an embodiment of the invention includes a client machine operating to store client image control information, request a graphical image file, and forward the client image control information; a server machine operating to store graphical image files, receive the request and the client image control information from the client machine, determine an appropriate amount of data for the graphical image file requested, and forward the graphical image file requested with the appropriate amount of data; and a network for coupling together the client machine and the server machine, wherein the request being forwarded, the client image control information, and the graphical image file being forwarded each traverse the network. Preferably, the graphical images stored in the server machine are stored using a progressive compression format. The network can be any network suitable for interconnecting computers.
As a computer readable media containing program instructions for transmitting a graphical image from a server machine to a client machine, an embodiment of the invention includes: first computer readable code devices for receiving, at the server machine, a request for a graphical image from a client machine; second computer readable code devices for negotiating between the server machine and the client machine to determine a quality-size tradeoff for the graphical image requested; and third computer readable code devices for transmitting the graphical image file to the extent of the quality-size tradeoff from the server machine to the client machine.
The advantages of the invention are numerous. One advantage of the invention is that graphical images can be transmitted over a network with a reduced amount so as to conserve precious network bandwidth, improve transmission time, and to reduce loads placed on server machines. Another advantage is that a user has a choice as to the amount of a graphical image file needed depending on an intended use for the image. For example, if images are simply being displayed in a small one inch by one inch arrangement, then only a small amount of the graphical image file need be transmitted. On the other hand, if the image is to be printed with high quality at a page-size, then a substantially larger amount of the graphical image file needs be transmitted (but this is typically still less than the complete graphical image file). In either case, less data is transmitted so less bandwidth is required and transmission time is improved. Further, in the case where the image is to be printed with picture quality on a large format, then a large amount (perhaps all) of data would be transmitted, which is very likely more data than would be conventionally available. The format of the data can also vary with the intended use (e.g., display format, printer formats, storage formats, etc.). Another advantage of the invention is that an author of an image need only store the associated graphical image file once in a high quality format; thereafter, the invention operates via a negotiation process between client and server, to meter down the amount of the graphical image file as is warranted. Yet another advantage of the invention is that it moves with technology in that as transmission bandwidth becomes greater or transmission rates become faster, the previously stored image files are automatically useable without changes.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.